/**
 * 聊天相关 API
 */
import request from '@/utils/request'

/**
 * 获取聊天会话列表
 * @param {object} params - 查询参数
 * @param {string} params.client_id - 客户端ID（可选）
 */
export function getChatSessions(params) {
  return request({
    url: '/agent/chat/sessions',
    method: 'get',
    params
  })
}

/**
 * 获取聊天消息列表
 * @param {object} params - 查询参数
 * @param {string} params.client_id - 客户端ID
 * @param {string} params.seller_id - 卖家ID
 * @param {string} params.item_id - 商品ID（可选）
 * @param {number} params.page_num - 页码
 * @param {number} params.page_size - 每页数量
 */
export function getChatMessages(params) {
  return request({
    url: '/agent/chat/messages',
    method: 'get',
    params
  })
}

/**
 * 打开聊天窗口（获取商品详情和卖家信息）
 * @param {object} data - 请求数据
 * @param {string} data.client_id - 客户端ID
 * @param {string} data.seller_id - 卖家ID
 * @param {string} data.item_id - 商品ID（可选）
 * @param {string} data.seller_name - 卖家名称（可选）
 */
export function openChat(data) {
  return request({
    url: '/agent/chat/open',
    method: 'post',
    data
  })
}

/**
 * 发送聊天消息
 * @param {object} data - 消息数据
 * @param {string} data.client_id - 客户端ID
 * @param {string} data.seller_id - 卖家ID
 * @param {string} data.item_id - 商品ID（可选）
 * @param {string} data.message - 消息内容
 */
export function sendChatMessage(data) {
  return request({
    url: '/agent/chat/send',
    method: 'post',
    data
  })
}

/**
 * 创建聊天消息（手动补录）
 * @param {object} data - 消息数据
 */
export function createChatMessage(data) {
  return request({
    url: '/agent/chat/messages',
    method: 'post',
    data
  })
}

/**
 * 删除聊天消息
 * @param {number} messageId - 消息ID
 */
export function deleteChatMessage(messageId) {
  return request({
    url: `/agent/chat/messages/${messageId}`,
    method: 'delete'
  })
}

/**
 * 发送已读回执（标记消息为已读）
 * @param {object} data - 请求数据
 * @param {string} data.client_id - 客户端ID
 * @param {string} data.seller_id - 卖家ID
 * @param {string} data.item_id - 商品ID（可选）
 * @param {string[]} data.message_ids - 消息ID列表，格式为 ["3808247424509.PNM", ...]
 */
export function markChatRead(data) {
  return request({
    url: '/agent/chat/read',
    method: 'post',
    data
  })
}

